function combinedN = sumH(H, Hr, V)
% SUMH 函数用于将二次项处理成双线性项

r = size(Hr,1); % 获取矩阵 Hr 的行数，即 r
combinedN = cell(2*r); % 创建一个大小为 2*r 的空单元格数组
%Hr_block = mat2cell(Hr', [r,r]); % 将矩阵 Hr 转换为 r × r 的子矩阵块
V_columns = num2cell(V, 1); % 将矩阵 V 按列拆分为单元格数组
H1 = Hr';

k = 1;
for i = 1:2:2*r-1
    % 将双线性项组合到 combinedN 单元格数组中
    combinedN{i} = H * kron(sparse(V_columns{k}), sparse(eye(size(H,1)))); % 计算双线性项部分
    combinedN{i+1} = H1((k-1)*r+1:k*r, 1:r); % 将 Hr 的子矩阵块放入 combinedN 中
    k = k + 1;
end
end
